package py.progweb.sgc.model;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;


/**
 * The persistent class for the PROCESOS database table.
 * 
 */
@Entity
@Table(name="PROCESOS")
public class Proceso extends EntidadBase implements Serializable {
	private static final long serialVersionUID = 1L;
	private long codProcesoPk;
	private Date fecCronfecha;
	private Date timeCronhora;
	private Long numCrondiames;
	private Long numCrondiasemana;
	private String strCrontipo;
	private String strDescrip;
	private String strEstado;
	private String strNombre;
	private String strTipo;
	private String strTipoperiodo;
	private GrupoRegla grupoRegla;

    public Proceso() {
    }


	@Id
	@SequenceGenerator(name="PROCESOS_CODPROCESOPK_GENERATOR", sequenceName="SQ_PK_PROCESOS")
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="PROCESOS_CODPROCESOPK_GENERATOR")
	@Column(name="COD_PROCESO_PK")
	public long getCodProcesoPk() {
		return this.codProcesoPk;
	}

	public void setCodProcesoPk(long codProcesoPk) {
		this.codProcesoPk = codProcesoPk;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="FEC_CRONFECHA")
	public Date getFecCronfecha() {
		return this.fecCronfecha;
	}

	public void setFecCronfecha(Date fecCronfecha) {
		this.fecCronfecha = fecCronfecha;
	}


    @Temporal( TemporalType.TIME)
	@Column(name="TIME_CRONHORA")
	public Date getTimeCronhora() {
		return this.timeCronhora;
	}

	public void setTimeCronhora(Date timeCronhora) {
		this.timeCronhora = timeCronhora;
	}


	@Column(name="NUM_CRONDIAMES")
	public Long getNumCrondiames() {
		return this.numCrondiames;
	}

	public void setNumCrondiames(Long numCrondiames) {
		this.numCrondiames = numCrondiames;
	}


	@Column(name="NUM_CRONDIASEMANA")
	public Long getNumCrondiasemana() {
		return this.numCrondiasemana;
	}

	public void setNumCrondiasemana(Long numCrondiasemana) {
		this.numCrondiasemana = numCrondiasemana;
	}


	@Column(name="STR_CRONTIPO")
	public String getStrCrontipo() {
		return this.strCrontipo;
	}

	public void setStrCrontipo(String strCrontipo) {
		this.strCrontipo = strCrontipo;
	}


	@Column(name="STR_DESCRIP")
	public String getStrDescrip() {
		return this.strDescrip;
	}

	public void setStrDescrip(String strDescrip) {
		this.strDescrip = strDescrip;
	}


	@Column(name="STR_ESTADO")
	public String getStrEstado() {
		return this.strEstado;
	}

	public void setStrEstado(String strEstado) {
		this.strEstado = strEstado;
	}


	@Column(name="STR_NOMBRE")
	public String getStrNombre() {
		return this.strNombre;
	}

	public void setStrNombre(String strNombre) {
		this.strNombre = strNombre;
	}


	@Column(name="STR_TIPO")
	public String getStrTipo() {
		return this.strTipo;
	}

	public void setStrTipo(String strTipo) {
		this.strTipo = strTipo;
	}


	@Column(name="STR_TIPOPERIODO")
	public String getStrTipoperiodo() {
		return this.strTipoperiodo;
	}

	public void setStrTipoperiodo(String strTipoperiodo) {
		this.strTipoperiodo = strTipoperiodo;
	}


	//bi-directional many-to-one association to Gruporegla
    @ManyToOne
	@JoinColumn(name="COD_GRUPOREGLA")
	public GrupoRegla getGrupoRegla() {
		return this.grupoRegla;
	}

	public void setGrupoRegla(GrupoRegla gruporegla) {
		this.grupoRegla = gruporegla;
	}


	@Override
	public Object getPK() {
		return getCodProcesoPk();
	}
	
}